package AMT_EXE_05;

import java.util.Scanner;


public class Principal {
  public static void main(String[] args) {
    Scanner msg = new Scanner(System.in);
    
    Fila fila = new Fila();
    
    int op = 0;
    String[] menu = {"Enqueue-Inserir paciente",
                    "Dequeue-remover paciente",
                  	"Lista-listar paciente", "Qualque numero para Sair"};
    
    while (op != menu.length) {
      System.out.println("Escolha uma opcao\n");
      for(int i = 0; i < menu.length; i++ ){
        System.out.println((i + 1) + " - " + menu[i]);
      }
      
      while(true) {
        try {
          op = msg.nextInt();
          break;
        } catch(Exception ex) {
          System.out.println("Numero invalido!!!");
        }
      }
      switch(op) {
        case 1: addPacienteNaFila(fila); break;
        case 2: removePaciente(fila); break;
        case 3: listarPaciente(fila); break;
        case 4: break;
      }
        
    }
  }
  public static void addPacienteNaFila(Fila fila) {
    String codigo = "";
    String nome = "";
    Scanner msg = new Scanner(System.in);
    
    try {
      System.out.println("Informe o codigo!");
      codigo = msg.nextLine();
    } catch (Exception ex) {
      System.out.print("Codidgo invalido.");
    }
    try {
      System.out.print("Informe o nome");
      nome = msg.nextLine();
    } catch (Exception ex) {
      System.out.print("Nome invalido.");
    }
    
    Paciente p = new Paciente(codigo, nome);
    fila.enqueue(p);
  }
  public static void removePaciente(Fila fila) {
    Paciente p = fila.dequeue();
    if(p == null) {
      System.out.print("Nao existe paciente");
    } else {
      System.out.print("Paciente removido.");
    }
  }
  public static void listarPaciente(Fila fila) {
    System.out.println(fila);
  }
}
